package com.itlaobing.reflection.constructor;

import java.lang.reflect.Constructor;

/**
 * 1、java.lang.reflect.Constructor类型的实例表示构造方法
 * 2、getConstructors() / getDeclaredConstructors()
 */
public class GetConstructor1 {

    public static void main(String[] args) throws ClassNotFoundException {

        Class<?> c = Class.forName("java.lang.Thread");

        // 获得 c 类中所有的 public 修饰的构造方法
        Constructor<?>[] constructors = c.getConstructors();
        for (Constructor<?> con : constructors){
            System.out.println(con);
        }

        System.out.println( "- - - - - - - - - - - - - - - - - - - -" );

        // 获得 c 类中所有的构造方法 (不论是什么修饰符)
        constructors = c.getDeclaredConstructors();
        for (Constructor<?> con : constructors){
            System.out.println(con);
        }
    }
}
